Service virtualization is an emerging technology which is used across various types of enterprise applications and platforms to create virtual services. Virtual services are created to mimic behavior of business services by recording various business processes/transactions.
Conventionally, various Service Virtualization (SV) tools exist that facilitate creating virtual services. For example, users (developers and testers) send service requests to live service endpoint via a recorder facility provided in the abovementioned SV tools. The recorder facility has a packet capture functionality that monitors the requests and saves request-response data corresponding to the requests. However, the abovementioned SV tools suffer from several disadvantages. For instance, in order to support various business processes/transactions in large service oriented enterprise systems, multiple instances of SV tools are needed. Further, the users need to wait for sending requests and executing test cases in order to record corresponding request response data. Furthermore, data reconciliation is required due to presence of multiple transactions for a particular service request thereby resulting in huge costs and time. In addition, the existing SV tools provide local and client-integrated service data capture functionality and are therefore dependent on purchased client licenses. Also, the data capture functionality and SV tool components are tightly coupled. Further, the existing SV tools do not provide audit trail for recorded transactions which poses security concerns. The abovementioned tools have limitations during concurrent and continuous packet capturing, are not capable of delivering expected concurrency and persistent behavior in enterprise and distributed environment and use non-synchronized methods for capturing different types of data-transactions. The abovementioned SV tools are not flexible while creating virtual services due to lack of capabilities to record transactions originating from multiple distributed sources, different service consumer applications or service testing tools that are being used to develop and test applications in different environments (such as test, production, staged and replicated) and for different purposes (such as functional testing, system testing and negative testing) at the same time. To overcome this inflexibility, effort and cost are incurred for creating stubs for various scenarios due to partial coverage of virtual services created using limited number of recorded transactions.
In light of the abovementioned disadvantages, there is a need for a system and method for agent based centralized and efficient transaction recordings for service virtualization. Further, there is a need for a system and method that is capable of explicit and implicit recording of service transactions. Furthermore, there is a need for a system and method that provides the users freedom and flexibility to record and execute multifaceted service transactions, facilitate simultaneous recordings and auto-reconciliation. Also, there is a need for a system and method that facilitates the users to record multiple and varied service transactions without the need to procure additional SV tool licenses. In addition, there is a need for a system and method that requires minimal effort during configuration and does not require frequent configuration changes. Further, there is a need for a system and method that provides optimized data transmission, persistent data storage, session based service delegation and management and concurrent recordings of transactions with respect to multiple service endpoints.